unit u_dm_receita;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, u_dm_padrao, FMTBcd, DB, DBClient, Provider, SqlExpr;

type
  Tdm_receita = class(Tdm_padrao)
    cdsAuxFormulaItens: TClientDataSet;
    cdsAuxFormulaItensLIG_COD_PRODUTO_SINONIMO: TIntegerField;
    cdsAuxFormulaItensPRODUTO: TStringField;
    cdsAuxFormulaItensLIG_COD_UNID_MEDIDA: TIntegerField;
    cdsAuxFormulaItensPOTENCIA: TStringField;
    cdsAuxFormulaItensME: TStringField;
    cdsAuxFormulaItensDILUICAO: TStringField;
    cdsAuxFormulaItensQUANTIDADE: TFMTBCDField;
    cdsAuxFormulaItensPERC_DESCTO: TFMTBCDField;
    cdsAuxFormulaItensVALOR_TOTAL: TFMTBCDField;
    cdsAuxFormulaItensINVOLUCRO: TStringField;
    cdsAuxFormulaItensEXCIPIENTE: TStringField;
    cdsAuxFormulaItensEMBALAGEM: TStringField;
    cdsAuxFormulaItensUNIDADE: TStringField;
    cdsAuxFormulaItensUNIDADE_ABREV: TStringField;
    spInserirFormaPosologia: TSQLStoredProc;

  private

  public
    procedure InserirItensFormula(CodProduto, CodUnidade: integer; Produto,
      Potencia, ME, Diluicao, Unidade: string; Qtde, Descto, Total: currency);
    procedure InserirFormaPosologia(CodForma: integer; Posologia:string);
  end;

var
  dm_receita: Tdm_receita;

implementation

uses u_dm_geral;

{$R *.dfm}

procedure Tdm_receita.InserirFormaPosologia(CodForma: integer;  Posologia: string);
begin
  spInserirFormaPosologia.Params[0].AsInteger := CodForma;
  spInserirFormaPosologia.Params[1].AsString  := Posologia;
  spInserirFormaPosologia.ExecProc;
end;

procedure Tdm_receita.InserirItensFormula(CodProduto,CodUnidade:integer;
Produto,Potencia,ME,Diluicao,Unidade:string; Qtde,Descto,Total:currency);
begin
  cdsAuxFormulaItens.Open;
  if cdsAuxFormulaItens.Locate('LIG_COD_PRODUTO_SINONIMO',CodProduto,[loPartialKey,loCaseInsensitive]) then Exit;
  cdsAuxFormulaItens.Append;
  cdsAuxFormulaItensLIG_COD_PRODUTO_SINONIMO.AsInteger := CodProduto;
  cdsAuxFormulaItensPRODUTO.AsString                   := Produto;
  cdsAuxFormulaItensPOTENCIA.AsString                  := Potencia;
  cdsAuxFormulaItensME.AsString                        := ME;
  cdsAuxFormulaItensDILUICAO.AsString                  := Diluicao;
  cdsAuxFormulaItensQUANTIDADE.AsCurrency              := Qtde;
  cdsAuxFormulaItensLIG_COD_UNID_MEDIDA.AsInteger      := CodUnidade;
  cdsAuxFormulaItensUNIDADE_ABREV.AsString             := Unidade;
  cdsAuxFormulaItensPERC_DESCTO.AsCurrency             := Descto;
  cdsAuxFormulaItensVALOR_TOTAL.AsCurrency             := Total;
  cdsAuxFormulaItens.Post;
end;

end.
